# 函数使用
# 定义函数：封装独立的功能
# 语法格式
"""
    def 函数名():
        函数封装的代码
"""


# 注意事项
# def 是define的缩写，函数名尽量见名知义
# 函数命名规则遵循标识符命名规范【下划线命名习惯】
# 调用函数：享受封装后的成果
# 语法格式
# 注意事项
# 只定义函数，不调用函数，函数不执行
# 调用函数不能放在定义函数的上方（顺序执行规则）
# 案例演示
# 1.定义函数demo
def demo():
    """测试函数"""
    print("这个是测试函数")


# 2.调用函数
demo()


# 结论：
# 1.函数不调用，不会自动执行
# 2.调用函数必须放在定义函数的下方
# 注意事项
# 函数注释一般写在定义函数的下方，使用三对双引号
# 函数调用处通过快捷键（ctrl+q）查看函数注释信息


### 3.2 代码调试（debug）
# > 目的：理解复杂代码的运行过程(代码的调试)
# ‐ 使用步骤
# ‐ 1.调试代码行号出添加**断点**（鼠标左键点击）
# ‐ 2.右键**debug运行**，使用快捷键单步执行查看
# ‐ 3.调试完毕后，在代码行号点击鼠标左键**取消断点**
# ‐ 快捷键
# ‐ **F8** Step Over: 单步执行代码, 会将函数调用看做是一行代码直接执行
# ‐ F7 Step Into: 单步执行代码, 遇到函数调用, 会进入到函数定义内部
### 3.3 函数文档注释
# > 文档注释也叫多行注释
# >
# > 目的：对函数的解释说明，增强函数可读性
# ‐ 语法格式
def func():
    """注释信息"""
# 函数封装的代码
# ...
# 注意事项
# 函数注释一般写在定义函数的下方，使用三对双引号
# 函数调用处通过快捷键（ctrl+q）查看函数注释信息